Referrer-Policy header

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

* Some parts of this feature may have varying levels of support.

Der HTTP Referrer-Policy Response-Header steuert, wie viele Referrer-Informationen (gesendet mit dem Referer-Header) mit Anfragen enthalten sein sollten. Neben dem HTTP-Header können Sie diese Richtlinie in HTML festlegen.

Header-Typ Response-Header
Verbotener Request-Header Nein

Syntax

http
Referrer-Policy: no-referrer
Referrer-Policy: no-referrer-when-downgrade
Referrer-Policy: origin
Referrer-Policy: origin-when-cross-origin
Referrer-Policy: same-origin
Referrer-Policy: strict-origin
Referrer-Policy: strict-origin-when-cross-origin
Referrer-Policy: unsafe-url

Hinweis: Der Header-Name Referer ist ein Tippfehler des Wortes "referrer". Der Referrer-Policy Header enthält diesen Tippfehler nicht.

Direktiven

no-referrer

Der Referer-Header wird weggelassen: gesendete Anfragen enthalten keine Referrer-Informationen.

no-referrer-when-downgrade

Senden Sie den origin, Pfad und die Abfragezeichenfolge im Referer, wenn das Protokoll-Sicherheitsniveau gleich bleibt oder sich verbessert (HTTP→HTTP, HTTP→HTTPS, HTTPS→HTTPS). Senden Sie den Referer-Header nicht bei Anfragen an weniger sichere Ziele (HTTPS→HTTP, HTTPS→file).

origin

Senden Sie nur den origin im Referer-Header. Zum Beispiel wird ein Dokument unter https://example.com/page.html den Referrer https://example.com/ senden.

origin-when-cross-origin

Bei Anfragen mit same-origin an dasselbe Protokollniveau (HTTP→HTTP, HTTPS→HTTPS) senden Sie den origin, Pfad und die Abfragezeichenfolge. Senden Sie nur den origin für Cross-Origin-Anfragen und Anfragen an weniger sichere Ziele (HTTPS→HTTP).

same-origin

Senden Sie den origin, Pfad und die Abfragezeichenfolge für same-origin Anfragen. Senden Sie den Referer-Header nicht bei Cross-Origin-Anfragen.

strict-origin

Senden Sie nur den origin, wenn das Protokoll-Sicherheitsniveau gleich bleibt (HTTPS→HTTPS). Senden Sie den Referer-Header nicht an weniger sichere Ziele (HTTPS→HTTP).

strict-origin-when-cross-origin (Standard)

Senden Sie den origin, Pfad und die Abfragezeichenfolge bei einer same-origin Anfrage. Für Cross-Origin-Anfragen senden Sie den origin (nur), wenn das Protokoll-Sicherheitsniveau gleich bleibt (HTTPS→HTTPS). Senden Sie den Referer-Header nicht an weniger sichere Ziele (HTTPS→HTTP).

Hinweis: Dies ist die Standardrichtlinie, wenn keine Richtlinie angegeben ist oder wenn der angegebene Wert ungültig ist (siehe Spezifikationsüberarbeitung November 2020). Zuvor war der Standard no-referrer-when-downgrade.

unsafe-url

Senden Sie den origin, Pfad und die Abfragezeichenfolge bei jeder Anfrage, unabhängig von der Sicherheit.

Warnung: Diese Richtlinie wird möglicherweise private Informationen von HTTPS-Ressourcen-URLs an unsichere Ursprünge weitergeben. Überlegen Sie sich die Auswirkungen dieser Einstellung sorgfältig.

Integration mit HTML

Sie können Referrer-Richtlinien auch innerhalb von HTML festlegen. Zum Beispiel können Sie die Referrer-Richtlinie für das gesamte Dokument mit einem <meta>-Element mit einem name von referrer festlegen:

html
<meta name="referrer" content="origin" />

Sie können das Attribut referrerpolicy auf <a>, <area>, <img>, <iframe>, <script> oder <link>-Elementen angeben, um Referrer-Richtlinien für einzelne Anfragen festzulegen:

html
<a href="http://example.com" referrerpolicy="origin">…</a>

Alternativ können Sie eine noreferrer Linkrelation auf a, area oder link-Elementen festlegen:

html
<a href="http://example.com" rel="noreferrer">…</a>

Warnung: Wie oben gezeigt, wird die noreferrer-Linkrelation ohne Bindestrich geschrieben. Wenn Sie die Referrer-Richtlinie für das gesamte Dokument mit einem <meta>-Element festlegen, sollte sie mit einem Bindestrich geschrieben werden: <meta name="referrer" content="no-referrer">.

Integration mit CSS

CSS kann Ressourcen aus Stylesheets abrufen. Diese Ressourcen folgen ebenfalls einer Referrer-Richtlinie:

  • Externe CSS-Stylesheets verwenden die Standardrichtung (strict-origin-when-cross-origin), es sei denn, sie wird durch einen Referrer-Policy-HTTP-Header in der Antwort des CSS-Stylesheets überschrieben.
  • Für <style>-Elemente oder style-Attribute wird die Referrer-Richtlinie des Eigentümerdokuments verwendet.

Beispiele

no-referrer

Aus Dokument Navigation zu Verwendeter Referrer
https://example.com/page überall (kein Referrer)

no-referrer-when-downgrade

Aus Dokument Navigation zu Verwendeter Referrer
https://example.com/page https://example.com/otherpage https://example.com/page
https://example.com/page https://mozilla.org https://example.com/page
https://example.com/page http://example.com (kein Referrer)
http://example.com/page überall http://example.com/page

origin

Aus Dokument Navigation zu Verwendeter Referrer
https://example.com/page überall https://example.com/

origin-when-cross-origin

Aus Dokument Navigation zu Verwendeter Referrer
https://example.com/page https://example.com/otherpage https://example.com/page
https://example.com/page https://mozilla.org https://example.com/
https://example.com/page http://example.com/page https://example.com/

same-origin

Aus Dokument Navigation zu Verwendeter Referrer
https://example.com/page https://example.com/otherpage https://example.com/page
https://example.com/page https://mozilla.org (kein Referrer)

strict-origin

Aus Dokument Navigation zu Verwendeter Referrer
https://example.com/page https://mozilla.org https://example.com/
https://example.com/page http://example.com (kein Referrer)
http://example.com/page überall http://example.com/

strict-origin-when-cross-origin

Aus Dokument Navigation zu Verwendeter Referrer
https://example.com/page https://example.com/otherpage https://example.com/page
https://example.com/page https://mozilla.org https://example.com/
https://example.com/page http://example.com (kein Referrer)

unsafe-url

Aus Dokument Navigation zu Verwendeter Referrer
https://example.com/page?q=123 überall https://example.com/page?q=123

Festlegen einer Rückfallrichtlinie

Wenn Sie eine Rückfallrichtlinie definieren möchten, falls die gewünschte Richtlinie nicht über ausreichende Browserunterstützung verfügt, verwenden Sie eine durch Kommas getrennte Liste, wobei die gewünschte Richtlinie zuletzt angegeben wird:

http
Referrer-Policy: no-referrer, strict-origin-when-cross-origin

In dem obigen Szenario wird no-referrer nur verwendet, wenn der Browser die strict-origin-when-cross-origin-Richtlinie nicht unterstützt.

Hinweis: Die Angabe mehrerer Werte wird nur im Referrer-Policy HTTP-Header unterstützt, nicht im referrerpolicy-Attribut.

Browser-spezifische Präferenzen/Einstellungen

Firefox Einstellungen

Sie können die Standard Referrer-Richtlinie in den Firefox-Einstellungen konfigurieren. Die Präferenznamen sind versionsspezifisch:

  • Firefox Version 59 und später: network.http.referer.defaultPolicy (und network.http.referer.defaultPolicy.pbmode für private Netzwerke)
  • Firefox Versionen 53 bis 58: network.http.referer.userControlPolicy

Alle diese Einstellungen verwenden die gleichen Werte: 0 = no-referrer, 1 = same-origin, 2 = strict-origin-when-cross-origin, 3 = no-referrer-when-downgrade.

Spezifikationen

Specification
Referrer Policy
# referrer-policy-header

Browser-Kompatibilität

Siehe auch